package 命令设计模式;

/**
 * 相当于一个人拿着遥控器，按着命令，命令通知空调执行对应的动作
 */
public class Main {

    public static void main(String[] args) {
        // 调用者持有命令，命令持有命令的接受者

        // 创建接收者 - 空调对象
        ConditionReciver conditionReciver = new ConditionReciver();
        // 创建命令 - 空调指令
        Command onCommand = new OnCommand(conditionReciver);
        Command offCommand = new OffCommand(conditionReciver);

        // 命令调用者  - 遥控
        CommandInvoker commandInvoker = new CommandInvoker();
        commandInvoker.setOffCommand(offCommand);
        commandInvoker.setOnCommand(onCommand);

        /// 调用具体命令 - 遥控按键
        commandInvoker.on();
        commandInvoker.off();
    }
}
